package com.personal.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class TCoachExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TCoachExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andCoachidIsNull() {
            addCriterion("coachId is null");
            return (Criteria) this;
        }

        public Criteria andCoachidIsNotNull() {
            addCriterion("coachId is not null");
            return (Criteria) this;
        }

        public Criteria andCoachidEqualTo(Integer value) {
            addCriterion("coachId =", value, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidNotEqualTo(Integer value) {
            addCriterion("coachId <>", value, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidGreaterThan(Integer value) {
            addCriterion("coachId >", value, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidGreaterThanOrEqualTo(Integer value) {
            addCriterion("coachId >=", value, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidLessThan(Integer value) {
            addCriterion("coachId <", value, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidLessThanOrEqualTo(Integer value) {
            addCriterion("coachId <=", value, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidIn(List<Integer> values) {
            addCriterion("coachId in", values, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidNotIn(List<Integer> values) {
            addCriterion("coachId not in", values, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidBetween(Integer value1, Integer value2) {
            addCriterion("coachId between", value1, value2, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachidNotBetween(Integer value1, Integer value2) {
            addCriterion("coachId not between", value1, value2, "coachid");
            return (Criteria) this;
        }

        public Criteria andCoachlognameIsNull() {
            addCriterion("coachlogName is null");
            return (Criteria) this;
        }

        public Criteria andCoachlognameIsNotNull() {
            addCriterion("coachlogName is not null");
            return (Criteria) this;
        }

        public Criteria andCoachlognameEqualTo(String value) {
            addCriterion("coachlogName =", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameNotEqualTo(String value) {
            addCriterion("coachlogName <>", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameGreaterThan(String value) {
            addCriterion("coachlogName >", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameGreaterThanOrEqualTo(String value) {
            addCriterion("coachlogName >=", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameLessThan(String value) {
            addCriterion("coachlogName <", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameLessThanOrEqualTo(String value) {
            addCriterion("coachlogName <=", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameLike(String value) {
            addCriterion("coachlogName like", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameNotLike(String value) {
            addCriterion("coachlogName not like", value, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameIn(List<String> values) {
            addCriterion("coachlogName in", values, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameNotIn(List<String> values) {
            addCriterion("coachlogName not in", values, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameBetween(String value1, String value2) {
            addCriterion("coachlogName between", value1, value2, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachlognameNotBetween(String value1, String value2) {
            addCriterion("coachlogName not between", value1, value2, "coachlogname");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordIsNull() {
            addCriterion("coachpassword is null");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordIsNotNull() {
            addCriterion("coachpassword is not null");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordEqualTo(String value) {
            addCriterion("coachpassword =", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordNotEqualTo(String value) {
            addCriterion("coachpassword <>", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordGreaterThan(String value) {
            addCriterion("coachpassword >", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordGreaterThanOrEqualTo(String value) {
            addCriterion("coachpassword >=", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordLessThan(String value) {
            addCriterion("coachpassword <", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordLessThanOrEqualTo(String value) {
            addCriterion("coachpassword <=", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordLike(String value) {
            addCriterion("coachpassword like", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordNotLike(String value) {
            addCriterion("coachpassword not like", value, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordIn(List<String> values) {
            addCriterion("coachpassword in", values, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordNotIn(List<String> values) {
            addCriterion("coachpassword not in", values, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordBetween(String value1, String value2) {
            addCriterion("coachpassword between", value1, value2, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachpasswordNotBetween(String value1, String value2) {
            addCriterion("coachpassword not between", value1, value2, "coachpassword");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameIsNull() {
            addCriterion("coachRealName is null");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameIsNotNull() {
            addCriterion("coachRealName is not null");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameEqualTo(String value) {
            addCriterion("coachRealName =", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameNotEqualTo(String value) {
            addCriterion("coachRealName <>", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameGreaterThan(String value) {
            addCriterion("coachRealName >", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameGreaterThanOrEqualTo(String value) {
            addCriterion("coachRealName >=", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameLessThan(String value) {
            addCriterion("coachRealName <", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameLessThanOrEqualTo(String value) {
            addCriterion("coachRealName <=", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameLike(String value) {
            addCriterion("coachRealName like", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameNotLike(String value) {
            addCriterion("coachRealName not like", value, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameIn(List<String> values) {
            addCriterion("coachRealName in", values, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameNotIn(List<String> values) {
            addCriterion("coachRealName not in", values, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameBetween(String value1, String value2) {
            addCriterion("coachRealName between", value1, value2, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachrealnameNotBetween(String value1, String value2) {
            addCriterion("coachRealName not between", value1, value2, "coachrealname");
            return (Criteria) this;
        }

        public Criteria andCoachsexIsNull() {
            addCriterion("coachSex is null");
            return (Criteria) this;
        }

        public Criteria andCoachsexIsNotNull() {
            addCriterion("coachSex is not null");
            return (Criteria) this;
        }

        public Criteria andCoachsexEqualTo(String value) {
            addCriterion("coachSex =", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexNotEqualTo(String value) {
            addCriterion("coachSex <>", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexGreaterThan(String value) {
            addCriterion("coachSex >", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexGreaterThanOrEqualTo(String value) {
            addCriterion("coachSex >=", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexLessThan(String value) {
            addCriterion("coachSex <", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexLessThanOrEqualTo(String value) {
            addCriterion("coachSex <=", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexLike(String value) {
            addCriterion("coachSex like", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexNotLike(String value) {
            addCriterion("coachSex not like", value, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexIn(List<String> values) {
            addCriterion("coachSex in", values, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexNotIn(List<String> values) {
            addCriterion("coachSex not in", values, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexBetween(String value1, String value2) {
            addCriterion("coachSex between", value1, value2, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachsexNotBetween(String value1, String value2) {
            addCriterion("coachSex not between", value1, value2, "coachsex");
            return (Criteria) this;
        }

        public Criteria andCoachphoneIsNull() {
            addCriterion("coachPhone is null");
            return (Criteria) this;
        }

        public Criteria andCoachphoneIsNotNull() {
            addCriterion("coachPhone is not null");
            return (Criteria) this;
        }

        public Criteria andCoachphoneEqualTo(String value) {
            addCriterion("coachPhone =", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneNotEqualTo(String value) {
            addCriterion("coachPhone <>", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneGreaterThan(String value) {
            addCriterion("coachPhone >", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneGreaterThanOrEqualTo(String value) {
            addCriterion("coachPhone >=", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneLessThan(String value) {
            addCriterion("coachPhone <", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneLessThanOrEqualTo(String value) {
            addCriterion("coachPhone <=", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneLike(String value) {
            addCriterion("coachPhone like", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneNotLike(String value) {
            addCriterion("coachPhone not like", value, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneIn(List<String> values) {
            addCriterion("coachPhone in", values, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneNotIn(List<String> values) {
            addCriterion("coachPhone not in", values, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneBetween(String value1, String value2) {
            addCriterion("coachPhone between", value1, value2, "coachphone");
            return (Criteria) this;
        }

        public Criteria andCoachphoneNotBetween(String value1, String value2) {
            addCriterion("coachPhone not between", value1, value2, "coachphone");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andHiredateIsNull() {
            addCriterion("hiredate is null");
            return (Criteria) this;
        }

        public Criteria andHiredateIsNotNull() {
            addCriterion("hiredate is not null");
            return (Criteria) this;
        }

        public Criteria andHiredateEqualTo(Date value) {
            addCriterionForJDBCDate("hiredate =", value, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateNotEqualTo(Date value) {
            addCriterionForJDBCDate("hiredate <>", value, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateGreaterThan(Date value) {
            addCriterionForJDBCDate("hiredate >", value, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("hiredate >=", value, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateLessThan(Date value) {
            addCriterionForJDBCDate("hiredate <", value, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("hiredate <=", value, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateIn(List<Date> values) {
            addCriterionForJDBCDate("hiredate in", values, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateNotIn(List<Date> values) {
            addCriterionForJDBCDate("hiredate not in", values, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("hiredate between", value1, value2, "hiredate");
            return (Criteria) this;
        }

        public Criteria andHiredateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("hiredate not between", value1, value2, "hiredate");
            return (Criteria) this;
        }

        public Criteria andDireidIsNull() {
            addCriterion("direid is null");
            return (Criteria) this;
        }

        public Criteria andDireidIsNotNull() {
            addCriterion("direid is not null");
            return (Criteria) this;
        }

        public Criteria andDireidEqualTo(Integer value) {
            addCriterion("direid =", value, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidNotEqualTo(Integer value) {
            addCriterion("direid <>", value, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidGreaterThan(Integer value) {
            addCriterion("direid >", value, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidGreaterThanOrEqualTo(Integer value) {
            addCriterion("direid >=", value, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidLessThan(Integer value) {
            addCriterion("direid <", value, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidLessThanOrEqualTo(Integer value) {
            addCriterion("direid <=", value, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidIn(List<Integer> values) {
            addCriterion("direid in", values, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidNotIn(List<Integer> values) {
            addCriterion("direid not in", values, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidBetween(Integer value1, Integer value2) {
            addCriterion("direid between", value1, value2, "direid");
            return (Criteria) this;
        }

        public Criteria andDireidNotBetween(Integer value1, Integer value2) {
            addCriterion("direid not between", value1, value2, "direid");
            return (Criteria) this;
        }

        public Criteria andCotypeIsNull() {
            addCriterion("cotype is null");
            return (Criteria) this;
        }

        public Criteria andCotypeIsNotNull() {
            addCriterion("cotype is not null");
            return (Criteria) this;
        }

        public Criteria andCotypeEqualTo(String value) {
            addCriterion("cotype =", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeNotEqualTo(String value) {
            addCriterion("cotype <>", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeGreaterThan(String value) {
            addCriterion("cotype >", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeGreaterThanOrEqualTo(String value) {
            addCriterion("cotype >=", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeLessThan(String value) {
            addCriterion("cotype <", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeLessThanOrEqualTo(String value) {
            addCriterion("cotype <=", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeLike(String value) {
            addCriterion("cotype like", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeNotLike(String value) {
            addCriterion("cotype not like", value, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeIn(List<String> values) {
            addCriterion("cotype in", values, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeNotIn(List<String> values) {
            addCriterion("cotype not in", values, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeBetween(String value1, String value2) {
            addCriterion("cotype between", value1, value2, "cotype");
            return (Criteria) this;
        }

        public Criteria andCotypeNotBetween(String value1, String value2) {
            addCriterion("cotype not between", value1, value2, "cotype");
            return (Criteria) this;
        }

        public Criteria andCoachstatesIsNull() {
            addCriterion("coachstates is null");
            return (Criteria) this;
        }

        public Criteria andCoachstatesIsNotNull() {
            addCriterion("coachstates is not null");
            return (Criteria) this;
        }

        public Criteria andCoachstatesEqualTo(String value) {
            addCriterion("coachstates =", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesNotEqualTo(String value) {
            addCriterion("coachstates <>", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesGreaterThan(String value) {
            addCriterion("coachstates >", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesGreaterThanOrEqualTo(String value) {
            addCriterion("coachstates >=", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesLessThan(String value) {
            addCriterion("coachstates <", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesLessThanOrEqualTo(String value) {
            addCriterion("coachstates <=", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesLike(String value) {
            addCriterion("coachstates like", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesNotLike(String value) {
            addCriterion("coachstates not like", value, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesIn(List<String> values) {
            addCriterion("coachstates in", values, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesNotIn(List<String> values) {
            addCriterion("coachstates not in", values, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesBetween(String value1, String value2) {
            addCriterion("coachstates between", value1, value2, "coachstates");
            return (Criteria) this;
        }

        public Criteria andCoachstatesNotBetween(String value1, String value2) {
            addCriterion("coachstates not between", value1, value2, "coachstates");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}